For a wireless communications link to be secure, it should generally provide data confidentiality and integrity during transmission. The principal method through which this is achieved is the use of cryptography, of which there are generally two types, public key and private key.
Public-key cryptography is a method for secret communication between two parties without the requirement of an initial exchange of secret keys. It employs a pair of keys, one private, which is held secret, and one public, which is distributed. Messages are encrypted with the recipient's public key and decrypted with the recipient's corresponding private key. Public-key cryptography is thus relatively unencumbered with key-exchange difficulties and key-interception vulnerabilities; however it is computationally intensive.
Private-key cryptography is a method for secret communication between two parties that requires an initial exchange of a single shared secret key. Messages are encrypted by the sender and decrypted by the recipient using this same shared key. Private-key cryptography is generally less computationally intensive than public-key cryptography; however key distribution and management may be problematic. Key distribution risks that the secret key will be intercepted during transmission. Key management requires the generation and transport of a different key for each communicating party.
Despite differing characteristics, both methods of cryptography require some form of key-distribution infrastructure responsible for either authenticating public keys or securely distributing private keys, or both. Because in some deployment scenarios such an infrastructure can be cost prohibitive or logistically impossible, several alternative methods of managing cryptographic keying variables have been proposed, including the use of the communications channel as a keying variable. Use of the communications channel as a keying variable may eliminate or reduce the need for a key-distribution infrastructure, in that private keys may be generated during communications, using shared physical information between two nodes.
However, existing methodologies that make use of the communications channel as a keying variable are limited to the use of a single aspect of the communications channel, and keys generated using existing techniques may not present a key of usable strength, as the variable relied on may be easily derived in some cases or the key generation technique may not be sufficiently robust to generate sufficiently random keys.
In other applications, shared data between nodes in a communications system may be used for secure modulation—such as a hopping sequence or spreading code. Similar difficulties are encountered in generating data for use as a sequence or spreading code.